package ie.icmr.scs.sms.web.controller.rest;

import java.io.Serializable;
import java.util.Date;

import org.springframework.web.multipart.commons.CommonsMultipartFile;

public class Media implements Serializable
{

	/**
	 * 
	 */
	private static final long serialVersionUID = 3384705472070198435L;
	
//	private Long id = null; Will be needed when videos are persisted
	/**
	 * Name of the WorkGroup item should be submitted to
	 */
	private String workGroupId = null;
	/**
	 * Title that should be given to submitted item
	 */
	private String title = null;
	/**
	 * Description of the item
	 */
	private String description = null;
	/**
	 * Abstract for the item
	 */
	private String itemAbstract = null;
	/**
	 * Should author of the item remain anonymous
	 */
	private Boolean isAnonymous = null;
	/**
	 * Should item be shared across WorkGroups
	 */
	private Boolean isShareable = null;
	/**
	 * Can item be commented on
	 */
	private Boolean isCommentable = null;
	/**
	 * Date till which item should be reviewed
	 */
	private Date workflowDueDate = null;
	/**
	 * Priority of item submission
	 */
	private Integer priority = null;
	/**
	 * Should e-mail regarding submission steps be sent
	 */
	private Boolean sendEmailNotifications = null;
	/**
	 * File to be submitted
	 */
	private CommonsMultipartFile mediaFile;
	
	// Credentials for performing the submission
	private String user = null;
	private String password = null;
	
	public String getWorkGroupId()
	{
		return workGroupId;
	}
	public void setWorkGroupId(String workGroupId)
	{
		this.workGroupId = workGroupId;
	}
	public String getTitle()
	{
		return title;
	}
	public void setTitle(String title)
	{
		this.title = title;
	}
	public String getDescription()
	{
		return description;
	}
	public void setDescription(String description)
	{
		this.description = description;
	}
	public String getItemAbstract()
	{
		return itemAbstract;
	}
	public void setItemAbstract(String itemAbstract)
	{
		this.itemAbstract = itemAbstract;
	}
	public Boolean getIsAnonymous()
	{
		return isAnonymous;
	}
	public void setIsAnonymous(Boolean isAnonymous)
	{
		this.isAnonymous = isAnonymous;
	}
	public Boolean getIsShareable()
	{
		return isShareable;
	}
	public void setIsShareable(Boolean isShareable)
	{
		this.isShareable = isShareable;
	}
	public Boolean getIsCommentable()
	{
		return isCommentable;
	}
	public void setIsCommentable(Boolean isCommentable)
	{
		this.isCommentable = isCommentable;
	}
	public Date getWorkflowDueDate()
	{
		return workflowDueDate;
	}
	public void setWorkflowDueDate(Date workflowDueDate)
	{
		this.workflowDueDate = workflowDueDate;
	}
	public Integer getPriority()
	{
		return priority;
	}
	public void setPriority(Integer priority)
	{
		this.priority = priority;
	}
	public Boolean getSendEmailNotifications()
	{
		return sendEmailNotifications;
	}
	public void setSendEmailNotifications(Boolean sendEmailNotifications)
	{
		this.sendEmailNotifications = sendEmailNotifications;
	}
	public CommonsMultipartFile getMediaFile()
	{
		return mediaFile;
	}
	public void setMediaFile(CommonsMultipartFile mediaFile)
	{
		this.mediaFile = mediaFile;
	}
	public String getUser()
	{
		return user;
	}
	public void setUser(String user)
	{
		this.user = user;
	}
	public String getPassword()
	{
		return password;
	}
	public void setPassword(String password)
	{
		this.password = password;
	}
}
